package util;

import java.util.HashMap;
import java.util.Map;

/**
 * @author : wushikai
 * <p>
 * date : 2021-04-22
 * 字色              背景              颜色
 * ---------------------------------------
 * 30                40              黑色
 * 31                41              紅色     error
 * 32                42              綠色     signTest
 * 33                43              黃色     warn
 * 34                44              藍色
 * 35                45              紫紅色
 * 36                46              青藍色
 * 37                47              白色
 */
public class SkyLogger {

    /**
     * 颜色的控制通过ESC字符(\033)加”[“加颜色代码加”m”实现。ESC的ASCII码是十进制的27，八进制的033(\033)
     * 在 ANSI 兼容终端里，可以用彩色显示文本而不仅仅是黑白
     * \033 转义起始符  1 高亮 30 字体颜色 42 背景颜色  \033[0m 结束转义符
     */
    public static void info(String message) {

        System.out.print("\033[1;30;42m" + message + "\033[0m\n");


    }

    public static void error(String message) {
        System.out.print("\033[1;41;37m" + message + "\033[0m\n");


    }


    public static void warn(String message) {


        System.out.print("\033[1;30;43m" + message + "\033[0m\n");

    }


    /**
     * 显示 字体颜色值
     */
    private static void showForeColor() {
        Map<String, String> map = new HashMap<>();
        map.put("黑色", "30");
        map.put("红色", "31");
        map.put("绿色", "32");
        map.put("黄色", "33");
        map.put("蓝色", "34");
        map.put("紫红色", "35");
        map.put("青蓝色", "36");
        map.put("白色", "37");


        for (String key : map.keySet()) {

            System.out.println("\033[1;" + map.get(key) + "m" + key + "  色值=" + map.get(key) + "\033[0m \n");
        }

    }

    public static void main(String[] args) {

     /*   signTest("草泥马");
        error("草泥马");
        warn("草泥马");*/

        showForeColor();
    }

}
